package xyz.riceball.usercore.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import xyz.riceball.usercore.entity.po.MenuPO;

import java.util.List;

/**
 * 菜单表(Menu)表数据库访问层
 *
 * @author xiaovcloud
 * @since 2022-04-24 20:17:45
 */
public interface MenuMapper extends BaseMapper<MenuPO> {

    /**
     * 获取当前用户所拥有的菜单
     *
     * @return
     */
    List<MenuPO> getLastMenuCurrent(@Param("userId") String userId);

    /**
     * 获取菜单下的所有子菜单
     *
     * @param ids
     */
    List<MenuPO> getAllChildMenu(@Param("ids") List<String> ids);

    /**
     * 获取菜单下的所有父菜单
     *
     * @param id
     */
    List<MenuPO> getAllParentMenu(@Param("ids") List<String> ids);

    /**
     * 查询被选中的子集菜单
     *
     * @return
     */
    List<String> validChildMenuId();
}

